////<p>给定两个字符串 <code><em>s</em></code> 和 <code><em>t</em></code> ，编写一个函数来判断 <code><em>t</em></code> 是否是 <code><em>s</em></code> 的字母异位词。</p>
////
////<p><strong>注意：</strong>若 <code><em>s</em></code> 和 <code><em>t</em></code><em> </em>中每个字符出现的次数都相同，则称 <code><em>s</em></code> 和 <code><em>t</em></code><em> </em>互为字母异位词。</p>
////
////<p> </p>
////
////<p><strong>示例 1:</strong></p>
////
////<pre>
////<strong>输入:</strong> <em>s</em> = "anagram", <em>t</em> = "nagaram"
////<strong>输出:</strong> true
////</pre>
////
////<p><strong>示例 2:</strong></p>
////
////<pre>
////<strong>输入:</strong> <em>s</em> = "rat", <em>t</em> = "car"
////<strong>输出: </strong>false</pre>
////
////<p> </p>
////
////<p><strong>提示:</strong></p>
////
////<ul>
////	<li><code>1 <= s.length, t.length <= 5 * 10<sup>4</sup></code></li>
////	<li><code>s</code> 和 <code>t</code> 仅包含小写字母</li>
////</ul>
////
////<p> </p>
////
////<p><strong>进阶: </strong>如果输入字符串包含 unicode 字符怎么办？你能否调整你的解法来应对这种情况？</p>
////<div><div>Related Topics</div><div><li>哈希表</li><li>字符串</li><li>排序</li></div></div><br><div><li>👍 477</li><li>👎 0</li></div>

package leetcode.editor.cn;

import java.util.HashMap;
import java.util.Map;

public class _242_ValidAnagram {
    public static void main(String[] args) {
        Solution solution = new _242_ValidAnagram().new Solution();
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public boolean isAnagram(String s, String t) {
            if (s.length()!=t.length()) {
                return false;
            }
            Map<Character, Integer> map = new HashMap<>();
            for (int i = 0; i < s.length(); i++) {
                Integer c = map.getOrDefault(s.charAt(i), 0);
                map.put(s.charAt(i), ++c);
            }
            for (int i = 0; i < t.length(); i++) {
                Integer c = map.get(t.charAt(i));
                if (c==null || c==0) {
                    return false;
                }
                map.put(t.charAt(i), --c);
            }
            return true;
        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}